﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using DAL;

/// <summary>
/// Description résumée de NavireService
/// </summary>
/// 
namespace BLL
{
    public class NavireService
    {
        private INavireManager navireManager;

        public NavireService(INavireManager navireManager)
        {
            this.navireManager = navireManager;
        }

        public NAVIRE getNavireById(int id)
        {
            return navireManager.getNavireById(id);
        }

        public NAVIRE createNavire(string nom, int categorieId, int maxPassagers, string adresseEmail, string numTel, int compagnieID, string immatriculation)
        {
            NAVIRE navire = new NAVIRE();
            navire.NOM = nom;
            navire.PROGRAMME = null;
            navire.NUM_TEL = numTel;
            navire.MAX_PASSAGERS = maxPassagers;
            navire.ADRESSE_EMAIL = adresseEmail;
            navire.CATEGORIEID = categorieId;
            navire.COMPAGNIEID = compagnieID;
            navire.IMMATRICULATION = immatriculation;

            try
            {
                this.navireManager.addNavire(navire);
                return navire;
            }

            catch (Exception ex)
            {
                return null;
            }

        }

        public bool deleteNavire(int navireId)
        {
            return navireManager.deleteNavire(navireId);
        }

        public List<NAVIRE> getAllNavires()
        {
            return navireManager.getAllNavires();
        }

        public bool updateNavire(int id, string nom, int categorieId, int maxPassagers, string adresseEmail, string numTel, int compagnieID, string immatriculation)
        {
            try
            {
                NAVIRE navire = navireManager.getNavireById(id);
                navire.NOM = nom;
                navire.NUM_TEL = numTel;
                navire.MAX_PASSAGERS = maxPassagers;
                navire.ADRESSE_EMAIL = adresseEmail;
                navire.CATEGORIEID = categorieId;
                navire.COMPAGNIEID = compagnieID;
                navire.IMMATRICULATION = immatriculation;

                navireManager.updateNavire();

                return true;
            }

            catch (Exception ex)
            {
                return false;
            }
        }

        public List<NAVIRE> getNaviresByCompagnieId(int compagnieId)
        {
            return navireManager.getNaviresByCompagnieId(compagnieId);
        }
    }
}